home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ahoy 1987 December
/
Ahoy_Magazine_87-12_1987_Double_L.d64
/
Redirect 64
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
2KB
|
59 lines
0 rem *** redirect c-64 ***
10 forj=49152to49240:reada:pokej,a:nextj
20 printchr$(147)tab(16)chr$(18)"redirect"
30 l$=" --------------------------------------"
40 j=0:s=1:n$="":print:print"file name? ";:printchr$(34);
50 poke204,0:geta$:ifa$=""then50
60 ifa$=chr$(13)thenpoke204,1:printchr$(34)a$:goto120
70 ifj>15thenpoke204,1:printa$:goto110
80 ifa$=chr$(20)andj<1then50
90 printa$;:ifa$=chr$(20)thenj=j-1:n$=left$(n$,j):goto50
100 n$=n$+a$:j=j+1:goto50
110 print:printchr$(18)"you are over the 16 character limit.":goto40
120 ifn$=""thenprintchr$(18)"please enter a file name.":goto40
130 ifn$="$"thensys49152:poke198,0:gosub470:close15:printl$:goto40
140 r$=chr$(34)+n$+chr$(34)
150 print"searching for ";r$
160 iflen(n$)<16thenn$=n$+chr$(160):goto160
170 open15,8,15:open5,8,5,"#"
180 print#15,"u1";5;0;18;s:gosub480:l=4
190 b$="":j=1
200 print#15,"b-p";5;j+l:get#5,a$:ifa$=""thena$=chr$(0)
210 b$=b$+a$:ifleft$(b$,j)<>left$(n$,j)then240
220 j=j+1:ifj>16then290
230 goto200
240 l=l+32:ifl<229then190
250 forp=0to1:print#15,"b-p";5;p:get#5,a$:ifa$=""thena$=chr$(0)
260 a(p)=asc(a$):nextp:ifa(0)<>18ora(1)<1ora(1)>18then280
270 s=a(1):goto180
280 print:print"unable to locate ";r$:goto390
290 gosub440:print:printl$:ifct=1then310
300 f1$=f2$:s1=s:l1=l:ct=1:close5:close15:goto40
310 print"swapping...":printl$
320 print#15,"u1";5;0;18;s:gosub480
330 print#15,"b-p";5;l:print#5,f1$;
340 print#15,"u2";5;0;18;s:gosub480
350 print#15,"u1";5;0;18;s1:gosub480
360 print#15,"b-p";5;l1:print#5,f2$;
370 print#15,"u2";5;0;18;s1:gosub480
380 print"done..."
390 close5:close15:printl$:print
400 input"another swap (y/n/$)";a$:ifa$="y"thenclr:goto20
410 ifa$="n"thenend
420 ifa$="$"thensys49152:poke198,0:gosub470:close15:printl$:print
430 goto400
440 f2$="":l=l-2:forj=0to29
450 print#15,"b-p";5;j+l:get#5,a$:ifa$=""thena$=chr$(0)
460 f2$=f2$+a$:nextj:return
470 open15,8,15
480 input#15,en,em$,et,es:ifen=0thenreturn
490 printen;em$;et;es:close5:close15:end
500 data32,68,229,169,36,133,251,169,5,162,8,160
510 data0,32,186,255,169,1,162,251,160,0,32,189
520 data255,32,192,255,162,5,32,198,255,32,207,255
530 data32,207,255,32,207,255,32,207,255,32,207,255
540 data72,32,207,255,168,104,170,165,144,208,22,152
550 data32,205,189,169,32,32,210,255,32,207,255,208
560 data248,169,13,32,210,255,184,80,214,32,204,255
570 data169,5,76,195,255